/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package vetAdmin.util;

import java.util.HashMap;
import java.util.Map;
import javax.swing.AbstractListModel;
import javax.swing.ComboBoxModel;
import vetAdmin.dao.implementation.CombosClienteDAOJDBC;

/**
 *
 * @author gtaulamet
 */
public class RazasModel extends AbstractListModel implements ComboBoxModel{
/**
 ** A ESTA CLASE LE AGREGO itemsIndice, DONDE GUARDO EL INDICE QUE TIENE CADA ELEMENTO
 ** EN LA BASE DE DATOS, ES UNA FORMA DE SUSTITUIR EL items POR DEFAULT. 
 **/
    
    private String[] items = null;
    private String[][] itemsIndice = null;
    private String seleccionado = null;

    public RazasModel() throws Exception {
        items=CombosClienteDAOJDBC.getRazas(AdministradorDeConexiones.getConnection());
        itemsIndice= new String[0][0];
        seleccionado = items[0];
    }     

    public RazasModel(String especie) throws Exception {
        itemsIndice= CombosClienteDAOJDBC.getRazas(AdministradorDeConexiones.getConnection(),especie);
        items=new String[getSize()];
        for(int i=0;i< getSize();i++){
            items[i]=itemsIndice[i][1];
        }
        seleccionado = itemsIndice[0][1];
    }         
    
    @Override
    public int getSize() {
        return itemsIndice.length;
//        return items.length;
    }

    @Override
    public Object getElementAt(int index) {
        return itemsIndice[index][1];
//        return items[index];        
    }

    @Override
    public void setSelectedItem(Object anItem) {
      //  String[] aux= new String[getSize()];
      //  aux=(String[])anItem;
      //  seleccionado = aux[1];
        
        seleccionado = (String)anItem;
        
    }

    @Override
    public Object getSelectedItem() {
        return seleccionado;
    }
    
    public int getIndiceModelItem(String indice){
        /** LE PASO EL INDICE DE LA BASE DE DATOS Y LO BUSCO EN EL MODELO,
         ** ME DEVUELVE EL INDICE DEL MODELO.
         **/
        
        //String aux= new String();
        int j=0;
        for (int i=0;i<getSize();i++){
            if (itemsIndice[i][0].equals(indice)){
                j=Integer.valueOf(i);//aux=itemsIndice[i][1].toString();
            }
                
        }
        
        return j;
    }
    
    public int getIndiceBDItem(int indice){
        /** LE PASO EL INDICE DEL MODELO Y DEVUELVE EL INDICE 
         ** DE LA BASE DE DATOS.
         **/        
        
        //String aux= new String();
        
        int j;
        j = Integer.valueOf(itemsIndice[indice][0]);
        
        return j;
    }
    
    
}